home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1997 May / PC Plus Super CD Issue 127 (May 1997).iso / handson / java / twolists / frame1.java < prev    next >
Encoding:
Java Source  |  1997-02-07  |  4.5 KB  |  169 lines

  1. /*
  2.     PC Plus sample Java application.
  3.     Demonstrates how to transfer items between two list
  4.     boxes by double-clicking. Implements a basic
  5.     'shopping list' manager.
  6.  */
  7.  
  8. import java.awt.*;
  9.  
  10. public class Frame1 extends Frame {
  11.     void BasketList_DblClick(Event event) {
  12.         // transfer selected item from BasketList to StockList
  13.         StockList.addItem(BasketList.getSelectedItem());
  14.         BasketList.delItem(BasketList.getSelectedIndex());
  15.  
  16.     }
  17.  
  18.     void StockList_DblClick(Event event) {
  19.         // transfer selected item from StockList to BasketList
  20.         BasketList.addItem(StockList.getSelectedItem());
  21.         StockList.delItem(StockList.getSelectedIndex());
  22.  
  23.     }
  24.  
  25.     void Open_Action(Event event) {
  26.         OpenFileDialog.show();
  27.     }
  28.  
  29.     void About_Action(Event event) {
  30.         (new AboutDialog(this, "About...", false)).show();
  31.     }
  32.  
  33.     void Exit_Action(Event event) {
  34.         (new QuitDialog(this, "Quit the Application?", false)).show();
  35.     }
  36.  
  37.     public Frame1() {
  38.  
  39.         //{{INIT_CONTROLS
  40.         setLayout(null);
  41.         addNotify();
  42.         resize(insets().left + insets().right + 457,insets().top + insets().bottom + 322);
  43.         OpenFileDialog = new java.awt.FileDialog(this, "Open",FileDialog.LOAD);
  44.         StockList = new java.awt.List(0,false);
  45.         add(StockList);
  46.         StockList.reshape(insets().left + 14,insets().top + 45,201,225);
  47.         BasketList = new java.awt.List(0,false);
  48.         add(BasketList);
  49.         BasketList.reshape(insets().left + 238,insets().top + 45,201,225);
  50.         label1 = new java.awt.Label("ITEMS IN STOCK");
  51.         label1.reshape(insets().left + 14,insets().top + 15,196,15);
  52.         add(label1);
  53.         label2 = new java.awt.Label("ITEMS IN YOUR BASKET");
  54.         label2.reshape(insets().left + 238,insets().top + 15,203,15);
  55.         add(label2);
  56.         label3 = new java.awt.Label("DOUBLE-CLICK TO BUY");
  57.         label3.reshape(insets().left + 14,insets().top + 278,203,22);
  58.         add(label3);
  59.         label4 = new java.awt.Label("DOUBLE-CLICK TO PUT BACK");
  60.         label4.reshape(insets().left + 238,insets().top + 278,203,24);
  61.         add(label4);
  62.         setTitle("A Basic Application");
  63.         //}}
  64.  
  65.         //{{INIT_MENUS
  66.         mainMenuBar = new java.awt.MenuBar();
  67.  
  68.         menu1 = new java.awt.Menu("File");
  69.         menu1.add("Open...");
  70.         menu1.add("Save");
  71.         menu1.add("Save As...");
  72.         menu1.addSeparator();
  73.         menu1.add("Exit");
  74.         mainMenuBar.add(menu1);
  75.  
  76.         menu2 = new java.awt.Menu("Edit");
  77.         menu2.add("Cut");
  78.         menu2.add("Copy");
  79.         menu2.add("Paste");
  80.         mainMenuBar.add(menu2);
  81.  
  82.         menu3 = new java.awt.Menu("Help");
  83.         menu3.add("About");
  84.         mainMenuBar.add(menu3);
  85.         setMenuBar(mainMenuBar);
  86.         //}}
  87.     }
  88.  
  89.     public Frame1(String title) {
  90.         this();
  91.         setTitle(title);
  92.     }
  93.  
  94.     public synchronized void show() {
  95.         move(50, 50);
  96.         super.show();
  97.         // Add items to StockList list box when form
  98.         // is first shown on screen
  99.           StockList.addItem("Tin of Schpamm");
  100.         StockList.addItem("Pot of Schnoodles");
  101.         StockList.addItem("Jug of Hare");
  102.         StockList.addItem("Kettle of Fish");
  103.         StockList.addItem("Bombay Duck");
  104.         StockList.addItem("Duck-billed platypus");
  105.         StockList.addItem("Can of worms");
  106.         StockList.addItem("Hair of the dog");
  107.         StockList.addItem("Dog's bone");
  108.         StockList.addItem("PC Plus");
  109.  
  110.  
  111.     }
  112.  
  113.     public boolean handleEvent(Event event) {
  114.         if (event.id == Event.WINDOW_DESTROY) {
  115.             hide();         // hide the Frame
  116.             dispose();
  117.             System.exit(0);
  118.             return true;
  119.         }
  120.         if (event.target == StockList && event.id == Event.ACTION_EVENT) {
  121.             StockList_DblClick(event);
  122.         }
  123.         if (event.target == BasketList && event.id == Event.ACTION_EVENT) {
  124.             BasketList_DblClick(event);
  125.         }
  126.         return super.handleEvent(event);
  127.     }
  128.  
  129.     public boolean action(Event event, Object arg) {
  130.         if (event.target instanceof MenuItem) {
  131.             String label = (String) arg;
  132.             if (label.equalsIgnoreCase("Open...")) {
  133.                 Open_Action(event);
  134.                 return true;
  135.             } else
  136.             if (label.equalsIgnoreCase("About")) {
  137.                 About_Action(event);
  138.                 return true;
  139.             } else
  140.             if (label.equalsIgnoreCase("Exit")) {
  141.                 Exit_Action(event);
  142.                 return true;
  143.             }
  144.         }
  145.         return super.action(event, arg);
  146.     }
  147.  
  148.     static public void main(String args[]) {
  149.         (new Frame1()).show();
  150.     }
  151.  
  152.     //{{DECLARE_CONTROLS
  153.     java.awt.FileDialog OpenFileDialog;
  154.     java.awt.List StockList;
  155.     java.awt.List BasketList;
  156.     java.awt.Label label1;
  157.     java.awt.Label label2;
  158.     java.awt.Label label3;
  159.     java.awt.Label label4;
  160.     //}}
  161.  
  162.     //{{DECLARE_MENUS
  163.     java.awt.MenuBar mainMenuBar;
  164.     java.awt.Menu menu1;
  165.     java.awt.Menu menu2;
  166.     java.awt.Menu menu3;
  167.     //}}
  168. }
  169.